home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / util / cdity / ModeProSrc.lha / Prefs / palettereq.h < prev    next >
C/C++ Source or Header  |  2000-09-17  |  3KB  |  114 lines

  1. #ifndef EXTRAS_PALETTEREQ_H
  2. #define EXTRAS_PALETTEREQ_H
  3.  
  4. #ifndef EXEC_TYPES_H
  5. #include <exec/types.h>
  6. #endif
  7.  
  8. #ifndef EXTRAS_LAYOUTGT_H
  9. #include <extras/layoutgt.h>
  10. #endif
  11.  
  12. struct prRGB
  13. {
  14.   ULONG Red,
  15.         Green,
  16.         Blue;
  17. };
  18.  
  19. struct PaletteRequest
  20. {
  21.   /* User supplied */
  22.   struct Screen *pr_UserScreen;
  23.   struct Window *pr_UserWindow;
  24.   STRPTR pr_WindowTitle;
  25.   UBYTE *pr_UserColorTable;
  26.   struct TextAttr *pr_TextAttr;
  27.  
  28.   /* GUI */  
  29.   struct Window   *pr_Window;
  30.   struct Screen   *pr_Screen;
  31.   struct ColorMap *pr_CMap;
  32.   APTR            pr_VisualInfo;
  33.   struct LG_Control *pr_GadControl;
  34.   struct TextFont  *pr_TextFont;
  35.  
  36.  
  37.   UBYTE   *pr_ColorTable;
  38.   LONG    pr_Flags;
  39.   
  40.   LONG          pr_Colors;
  41.   struct prRGB *pr_Palette,
  42.                *pr_UndoPalette,
  43.                *pr_InitialPalette;
  44.  
  45.   ULONG pr_RetVal,
  46.         pr_Mode,
  47.         pr_ModeColor;
  48.  
  49.   LONG  pr_RedLevel,
  50.         pr_GreenLevel,
  51.         pr_BlueLevel,
  52.         pr_RedMax,
  53.         pr_GreenMax,
  54.         pr_BlueMax;
  55.  
  56.   UBYTE pr_RedBits,
  57.         pr_GreenBits,
  58.         pr_BlueBits;
  59.  
  60.   WORD  pr_RedMult,
  61.         pr_GreenMult,
  62.         pr_BlueMult;
  63.   ULONG pr_End;
  64.   ULONG pr_ActiveColor,
  65.         pr_PrevColor;
  66.   struct Menu *pr_MenuStrip;
  67.   WORD  pr_PLeft, /* the color view thingy */
  68.         pr_PTop,
  69.         pr_PWidth,
  70.         pr_PHeight;
  71.   WORD  pr_WinLeft, /* -1 if not set */
  72.         pr_WinTop,
  73.         pr_WinWidth,
  74.         pr_WinHeight,
  75.         pr_MinWidth,
  76.         pr_MinHeight;
  77.   BOOL  pr_PalGo;
  78.   BOOL  pr_V39;
  79.   char  pr_FileName[513];
  80.   struct   FileRequester *pr_FileReq;
  81.   
  82. };
  83.  
  84. // ASLFO_Window
  85. #define PR_DUMMY        (TAG_USER)
  86.  
  87. #define PR_Window       (PR_DUMMY + 1)
  88. #define PR_Screen       (PR_DUMMY + 2)
  89. #define PR_TextAttr     (PR_DUMMY + 3) /* Required */
  90. #define PR_Title        (PR_DUMMY + 4)
  91.  
  92. #define PR_InitialLeftEdge  (PR_DUMMY + 5)
  93. #define PR_InitialTopEdge   (PR_DUMMY + 6)
  94. #define PR_InitialWidth     (PR_DUMMY + 7)
  95. #define PR_InitialHeight    (PR_DUMMY + 8)
  96.  
  97. #define PR_InitialPalette     (PR_DUMMY + 10)
  98. #define PR_Colors             (PR_DUMMY + 11) /* Number of colors */
  99. /* These 2 are exclusive, but are not required */
  100. #define PR_ColorTable         (PR_DUMMY + 12) /* (UBYTE *) */
  101. #define PR_ObtainPens         (PR_DUMMY + 13) /* If set, it will attempt to ObtainPens */
  102.  
  103. #define PR_RedBits            (PR_DUMMY + 20) /* Red bits, if not set, uses screens */
  104. #define PR_GreenBits          (PR_DUMMY + 21) 
  105. #define PR_BlueBits           (PR_DUMMY + 22)
  106. #define PR_ModeIDRGBBits      (PR_DUMMY + 23) /* Sets the above according to the ModeID */
  107.  
  108.  
  109. struct PaletteRequest *PR_AllocPaletteRequest(Tag Tags, ... );
  110. void PR_FreePaletteRequest(struct PaletteRequest *PReq);
  111. ULONG PR_DoPaletteRequest(struct PaletteRequest *PReq, Tag Tags, ... );
  112.  
  113. #endif /* EXTRAS_PALETTEREQ_H */
  114.